import socket
import struct
port = 8080
host = 'localhost'

#建立socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#进行连接
s.connect((host, port))
while True:
    cmd = input('>>: ').strip()
    if not cmd:
        continue
    s.send(cmd.encode('utf-8'))
    print('has send')
    #第一步：先收报头
    header = s.recv(4)
    #第二步：从报头解析出对真实数据的描述信息（数据长度）
    total_size = struct.unpack('i', header)[0]
    #第三步：接受真实的数据
    recv_size = 0
    recv_data = b''
    while recv_size < total_size:
        res = s.recv(1024)
        recv_data += res
        recv_size += len(res)

    print('has recv')
    print(recv_data.decode('GBK', errors='ignore'))

s.close()
